Block types the user can create

Commands

command :: other

Executes/run commands, then may continue the script.

Reporters

(reporter :: other)

Reports a value after being called.

Predicates

<predicate :: other>

Just like reporters, but returns a Boolean (true or false) value. Even though they are intended to return Booleans, they can return other values.

Other block types

Hat blocks

when flag clicked

The hat blocks are used to start a script. Other type of blocks cannot run any kind of scripts. If hat blocks are not attached with scripts, scripts will not run unless the user clicks on the script. Custom hat blocks can be simulated with a predicate inside a when <> hat block.

Cap blocks

stop [this script V]

These are command blocks below which other commands cannot be connected. They are identical to command blocks in all other respects.